package cn.com.nes.mybatis.agent.ope.mapper;

import cn.com.nes.mybatis.agent.ope.entity.GGoods;
import cn.com.nes.site.entity.dto.product.DeviceModelDTO;
import cn.com.nes.site.entity.dto.product.GGoodsDTO;
import cn.com.nes.site.entity.vo.product.GGoodsVO;
import cn.com.nes.site.service.product.dto.ProductDTO;
import cn.com.nes.site.service.workOrder.dto.InstallOrderEquipmentDTO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 产品表mapper
 *
 * @Author: ShenWei
 * @Date: 2024/03/27/18:06
 */
public interface GGoodsMapper extends BaseMapper<GGoods> {

    List<String> getParamFields(@Param("dbName") String dbName);

    void updateFields(@Param("sqlStr") String sqlStr,@Param("id") String id);

    List<GGoodsDTO> getGoodsPage(@Param("page") Page<GGoodsDTO> page,@Param("vo") GGoodsVO vo);

    Map<String, String> getPhysicalParams(@Param("sqlColumn") String sqlColumn, @Param("dto") GGoodsDTO gGoodsDTO);

    List<GGoodsDTO> getGoodsListByCompanyId(@Param("companyId") String companyId);

    List<String> getGoodsIdListByEnergyType(@Param("companyId") String companyId, @Param("energyTypeId") Long energyTypeId);

    List<DeviceModelDTO> getDeviceModel(@Param("companyId") String companyId, @Param("deviceModelList") List<String> deviceModelList);

    List<InstallOrderEquipmentDTO> queryInstallOrderEquipmentInfo(@Param("workOrderId") Long workOrderId);

    List<GGoodsDTO> getGoodsListBySblxId(@Param("companyId") String companyId, @Param("parts") List<String> parts);


    List<ProductDTO> getGoodsByCodes(@Param("productUuids")List<String> productUuids);

}
